const { spawn } = require('child_process');
const path = require('path');

console.log('🚀 启动开发环境...\n');

// 启动后端服务器
console.log('📡 启动后端服务器...');
const backend = spawn('node', ['server.js'], {
  cwd: path.join(__dirname, 'backend'),
  stdio: 'inherit',
  shell: true
});

// 等待后端启动
setTimeout(() => {
  console.log('\n🌐 启动前端开发服务器...');
  
  // 启动前端开发服务器
  const frontend = spawn('npm', ['run', 'dev'], {
    cwd: __dirname,
    stdio: 'inherit',
    shell: true
  });

  // 错误处理
  frontend.on('error', (error) => {
    console.error('前端启动失败:', error);
  });

  backend.on('error', (error) => {
    console.error('后端启动失败:', error);
  });

  // 进程退出处理
  process.on('SIGINT', () => {
    console.log('\n🛑 关闭服务器...');
    frontend.kill();
    backend.kill();
    process.exit();
  });

}, 2000);